home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / U-User Group / (k)u6.d64 / tod.proc < prev    next >
Text File  |  2007-02-28  |  1KB  |  49 lines

  1. 0010 // LIST "0:TOD.PROC"
  2. 0020 //
  3. 0030 // TIME ROUTINES FOR C64 TOD CLOCK
  4. 0040 // BY ED COX
  5. 0050 SET'TOD(11,59,30,0)
  6. 0055 PRINT CHR$(14),"ô"
  7. 0060 REPEAT 
  8. 0070 READ'TOD(HR,MIN,SEC,TENTH,AM'PM)
  9. 0080 PRINT USING "##:##:##:#": HR,MIN,SEC,TENTH,
  10. 0090 IF AM'PM THEN
  11. 0100 PRINT " ╨.═."
  12. 0110 ELSE 
  13. 0120 PRINT " ┴.═."
  14. 0130 ENDIF 
  15. 0140 PRINT "æ",
  16. 0150 UNTIL TRUE=FALSE
  17. 0160 END 
  18. 0170 // TOD CLOCK ROUTINES
  19. 0180 // MODIFIED FROM KEVIN QUIGGLE
  20. 0190 //
  21. 0200 PROC SET'TOD(HOURS,MINUTES,SECONDS,AM'PM) CLOSED
  22. 0210 POKE 56331,DEC'TO'BCD(HOURS)+128*AM'PM //HOURS
  23. 0220 POKE 56330,DEC'TO'BCD(MINUTES) //MINUTES
  24. 0230 POKE 56329,DEC'TO'BCD(SECONDS) //SECONDS
  25. 0240 POKE 56328,0 //SECONDS (TENTHS)
  26. 0250 ENDPROC SET'TOD
  27. 0260 //
  28. 0270 PROC READ'TOD(REF HRS,REF MINS,REF SECS,REF TENTHS,REF AM'PM) CLOSED
  29. 0280 TENTHS:=PEEK(56328)
  30. 0290 SECS:=BCD'TO'DEC(PEEK(56329))
  31. 0300 MINS:=BCD'TO'DEC(PEEK(56330))
  32. 0310 HRS:=PEEK(56331)
  33. 0320 AM'PM:=0
  34. 0330 IF HRS>127 THEN
  35. 0340 HRS:-128
  36. 0350 AM'PM:=1
  37. 0360 ENDIF 
  38. 0370 HRS:=BCD'TO'DEC(HRS)
  39. 0380 ENDPROC READ'TOD
  40. 0390 //
  41. 0400 FUNC BCD'TO'DEC(X) 
  42. 0410 RETURN (X DIV 16)*10+(X MOD 16)
  43. 0420 ENDFUNC BCD'TO'DEC
  44. 0430 //
  45. 0440 FUNC DEC'TO'BCD(X) 
  46. 0450 RETURN (X DIV 10)*16+(X MOD 10)
  47. 0460 ENDFUNC DEC'TO'BCD
  48. 0470 //
  49.